# coding:utf-8

import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow


class Calc(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)

        self.x = None
        self.y = None
        self.result = None
        self.operator = None
        self.equal = None
        self.clear = None

        uic.loadUi('calc.ui', self)
        btns = [
            self.pushButton0,
            self.pushButton1,
            self.pushButton2,
            self.pushButton3,
            self.pushButton4,
            self.pushButton5,
            self.pushButton6,
            self.pushButton7,
            self.pushButton8,
            self.pushButton9,
            self.pushButton_clear,
            self.pushButton_add,
            self.pushButton_sub,
            self.pushButton_div,
            self.pushButton_mul,
            self.pushButton_dot,
            self.pushButton_equal
        ]
        map(lambda btn: btn.clicked.connect(self.click_on_button), btns)

    def calculate(self):
        """
        如果x、y、operater不为空，计算结果。
        """
        if self.x and self.y and self.operator:
            self.result =  str(eval("%s%s%s"%(self.x,self.operator,self.y)))
            #eval 是计算字符，后跟字符串
            self.text_result.
            (self.result)

    def click_on_button(self):
        print self.sender().text()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    calc = Calc()
    calc.show()
    calc.x = '25'
    calc.y = '2'
    calc.operator = '*'
    calc.calculate()
    app.exec_()